.EQ
delim $$
.EN
.TH MM2GV 1 "31 July 2008"
.SH NAME
mm2gv \- Matrix Market-DOT converters
.SH SYNOPSIS
.B mm2gv
[
.B \-cluv?
]
[
.BI -U i
]
[
.BI -o outfile
]
[ 
.I file
]
.br
.SH DESCRIPTION
.B mm2gv
converts a sparse matrix of the Matrix Market format to a graph in the GV (formerly DOT) format. 
If the matrix \fIM\fP is not square, the graph is considered bipartite and the matrix is viewed
as a bipartite graph adjacency matrix, with the rows and columns of the matrix specifying the
two sets of vertices. Equivalently, the matrix is converted into a symmetric square matrix
.TS
c c.
0	\fIM\fP
$\fIM\fP sup \fIT\fP$	0
.TE
a block matrix with square blocks of 0's in the upper left and lower right, the upper right
block being \fIM\fP and the lower left block being the transpose of \fIM\fP.
This matrix is then viewed as the adjacency matrix of the graph.
.P
For a square matrix, \fBmm2gv\fP uses it directly as an adjacency matrix if its pattern of non-zero
entries is symmetric; otherwise, it will treat it as a bipartite graph as with the case of non-square
matrices. This behavior can be modified by the \fB-U\fP flag.
.SH OPTIONS
The following options are supported:
.TP
.B \-c
This flag causes \fBmm2gv\fP to assign colors to the edges. The matrix element is scaled to the
range [0,1] depending on where it lies between the minimum and maximum set matrix values. This
scaled value is used as the \fI"wt"\fP attribute of the corresponding edge. 
In addition, this scalar value is mapped to an RGB value, which is stored as the edge \fI"color"\fP.
.TP
.B \-l
If set, \fBmm2gv\fP attaches a label to the graph indicating the base name of the input file,
and the number of nodes and edges.
.TP
.B \-u
If specified, the graph is assumed to be undirected. By default, the graph generated is directed. 
.TP
.B \-v
This flag causes \fBmm2gv\fP to store the matrix values as the \fI"len"\fP attribute of the
corresponding edge.
.TP
.BI \-U "bflag"
Specifies how square matrices are handled. If \fIbflag\fP is 0, a square matrix will always be treated
as an adjacency matrix.  
If \fIbflag\fP is 1 (the default), a square matrix with a symmetric pattern
of non-zero entries will be used as an adjacency matrix; otherwise, it will be used a bipartite graph.
If \fIbflag\fP is 2, a symmetric matrix
will be used as an adjacency matrix; otherwise, it will be used a bipartite graph.
If \fIbflag\fP is 3, any input matrix will be treated like a bipartite graph.
.TP
.BI \-o "outfile"
Prints output to the file \fIoutfile\fP. If not given, \fBmm2gv\fP
uses stdout.
.TP
.SH OPERANDS
The following operand is supported:
.TP 8
.I file
Name of the file in MatrixMarket format.
If no
.I file
operand is specified,
the standard input will be used.
.SH RETURN CODES
Return \fB0\fP
if there were no problems during conversion;
and non-zero if any error occurred.
.SH AUTHORS
Yifan Hu <yifanhu@yahoo.com>
.br
Emden R. Gansner <erg@graphviz.com>
.SH ADDITIONAL INFO
See http://math.nist.gov/MatrixMarket/ for description of the format and http://www.cise.ufl.edu/research/sparse/matrices/ for a large collection of sparse matrices in this format.
